home *** CD-ROM | disk | FTP | other *** search
/ Gigarom 1 / Gigarom Macintosh Archives (Quantum Leap)(CDRM1080320)(1993).iso / FILES / HYP / J-M / MenuUtils.cpt / Command History / stack.txt < prev   
Text File  |  1989-04-19  |  6KB  |  213 lines

  1. -- stack: in
  2. -- format: 8 (HyperCard 1)
  3. -- flags: 0x1000 (none)
  4. -- protect password hash: 0
  5. -- maximum user level: 5 (scripting)
  6. -- window: Rect(x1=0, y1=0, x2=0, y2=0)
  7. -- screen: Rect(x1=0, y1=0, x2=0, y2=0)
  8. -- card dimensions: w=0 h=0
  9. -- scroll: x=0 y=0
  10. -- background count: 1
  11. -- first background id: 2592
  12. -- card count: 1
  13. -- first card id: 2852
  14. -- list block id: 3265
  15. -- print block id: 0
  16. -- font table block id: 0
  17. -- style table block id: 0
  18. -- free block count: 0
  19. -- free size: 0 bytes
  20. -- total size: 17152 bytes
  21. -- stack block size: 5120 bytes
  22. -- created by hypercard version: 0x01208000
  23. -- compacted by hypercard version: 0x01208000
  24. -- modified by hypercard version: 0x01208000
  25. -- opened by hypercard version: 0x01228000
  26. -- patterns[0]: 0x0000000000000000
  27. -- patterns[1]: 0x8000000008000000
  28. -- patterns[2]: 0x8800220088002200
  29. -- patterns[3]: 0x8888222288882222
  30. -- patterns[4]: 0x88AA22AA88AA22AA
  31. -- patterns[5]: 0xCCAA33AACCAA33AA
  32. -- patterns[6]: 0xEEAABBAAEEAABBAA
  33. -- patterns[7]: 0xEEBBBBEEEEBBBBEE
  34. -- patterns[8]: 0xFFBBFFEEFFBBFFEE
  35. -- patterns[9]: 0xFFBBFFFFFFBBFFFF
  36. -- patterns[10]: 0x8010022001084004
  37. -- patterns[11]: 0xFFFFFFFFFFFFFFFF
  38. -- patterns[12]: 0x8822882288228822
  39. -- patterns[13]: 0x1122448811224488
  40. -- patterns[14]: 0xC4800C6843023026
  41. -- patterns[15]: 0xB130031BD8C00C8D
  42. -- patterns[16]: 0xAA00AA00AA00AA00
  43. -- patterns[17]: 0x8822552288225522
  44. -- patterns[18]: 0x8855225588552255
  45. -- patterns[19]: 0x77DD77DD77DD77DD
  46. -- patterns[20]: 0x8000000000000000
  47. -- patterns[21]: 0xAA55AA55AA55AA55
  48. -- patterns[22]: 0x038448300C020101
  49. -- patterns[23]: 0x8244394482010101
  50. -- patterns[24]: 0x8814224188412214
  51. -- patterns[25]: 0x8080413E080814E3
  52. -- patterns[26]: 0x22048C7422179810
  53. -- patterns[27]: 0xBE808808EB088880
  54. -- patterns[28]: 0x25C8328964244C92
  55. -- patterns[29]: 0xA29C41BE2AC914EB
  56. -- patterns[30]: 0x40A00000040A0000
  57. -- patterns[31]: 0x8040200002040800
  58. -- patterns[32]: 0xAA00800088008000
  59. -- patterns[33]: 0xFF80808080808080
  60. -- patterns[34]: 0x081C22C180010204
  61. -- patterns[35]: 0xFF808080FF080808
  62. -- patterns[36]: 0xF87422478F172271
  63. -- patterns[37]: 0xBF00BFBFB0B0B0B0
  64. -- patterns[38]: 0xFF7FBE5DA2418000
  65. -- patterns[39]: 0xFAF5FAF5A050A050
  66. -- checksum: 0x0
  67. ----- HyperTalk script -----
  68. -- The scripts in this stack are ¬©1989 by Steve Martin
  69. on openstack
  70.   global historymenu,temphistory
  71.   if historymenu is empty then
  72.     setuphistory
  73.     put true into temphistory
  74.   else put false into temphistory
  75.   if the version < 1.2 then
  76.     answer "Hypercard version 1.2 or greater required!"
  77.     go home
  78.     exit openstack
  79.   end if
  80.   get the topleft of card window
  81.   show msg at 17,304
  82. end openstack
  83.  
  84. on closestack
  85.   global historymenu,temphistory,historyindex,msghistory,history
  86.   if temphistory then
  87.     get deletemenu(historymenu)
  88.     put empty into historymenu
  89.     put empty into historyindex
  90.     put empty into msghistory
  91.     put empty into history
  92.     put false into temphistory
  93.   end if
  94. end closestack
  95.  
  96. on arrowkey arrow
  97.   global msghistory, historyindex
  98.   if the optionkey is down then
  99.     if arrow is up then
  100.       add 1 to historyindex
  101.       put unquotify(line historyindex of msghistory) into com
  102.       if (the visible of msg) and (com is msg) then add 1 to historyindex
  103.       get the number of lines of msghistory
  104.       if historyindex > it then put 1 into historyindex
  105.       put unquotify(line historyindex of msghistory)
  106.     end if
  107.     if arrow is down then
  108.       subtract 1 from historyindex
  109.       get the number of lines of msghistory
  110.       if historyindex < 1 then put it into historyindex
  111.       put unquotify(line historyindex of msghistory)
  112.     end if
  113.   else pass arrowkey
  114. end arrowkey
  115.  
  116. on domenu which
  117.   global msghistory,history
  118.   if history is not empty then
  119.     repeat with x = 1 to history
  120.       if line x of msghistory is which then
  121.         put unquotify(which)
  122.         select empty
  123.         type return
  124.         exit domenu
  125.       end if
  126.     end repeat
  127.   end if
  128.   pass domenu
  129. end domenu
  130.  
  131. on idle
  132.   global msghistory, historyindex,historymenu,lasttick
  133.   if historyindex is not empty and historymenu is not empty then
  134.     if (the ticks-lasttick) > 120 then
  135.       put the ticks into lasttick
  136.       showmenu historymenu
  137.       if historyindex > 0 and line historyindex of msghistory <> quotify(msg) then
  138.         put 0 into historyindex
  139.       end if
  140.     end if
  141.   end if
  142.   pass idle
  143. end idle
  144.  
  145. on returnkey
  146.   global msghistory, historyindex, history,historymenu
  147.   if historymenu is not empty then
  148.     put quotify(the msg) into qmsg
  149.     if line 1 of msghistory <> qmsg then
  150.       put qmsg & return before msghistory
  151.       if history > 1 then
  152.         repeat with x = 2 to history
  153.           get line x of msghistory
  154.           if it is "none" then exit repeat
  155.           if it is qmsg then
  156.             delete line x of msghistory
  157.             exit repeat
  158.           end if
  159.         end repeat
  160.       end if
  161.       repeat with x = 1 to history
  162.         if line x of msghistory <> empty then
  163.           changemenu historymenu,x,line x of msghistory
  164.           enablemenu historymenu,x,true
  165.         else exit repeat
  166.       end repeat
  167.     end if
  168.     if the number of lines of msghistory > history then
  169.       delete last line of msghistory
  170.     end if
  171.     put 0 into historyindex
  172.   end if
  173.   pass returnkey
  174. end returnkey
  175.  
  176. on setuphistory
  177.   global historyindex,history,historymenu
  178.   put 0 into historyindex
  179.   put 15 into history
  180.   repeat with x = 1 to history
  181.     put "none" into line x of temp
  182.   end repeat
  183.   if historymenu is empty then
  184.     put newmenu("History",temp) into historymenu
  185.     repeat with x = 1 to history
  186.       enablemenu historymenu,x,false
  187.     end repeat
  188.   end if
  189. end setuphistory
  190.  
  191. function quotify string
  192. put quote into q
  193. get offset(q,string)
  194. repeat while it > 0
  195.   put "''" into char it of string
  196.   get offset(q,string)
  197. end repeat
  198. return string
  199. end quotify
  200.  
  201. function unquotify string
  202. put "''" into q
  203. get offset(q,string)
  204. repeat while it > 0
  205.   put quote into char it to it+1 of string
  206.   get offset(q,string)
  207. end repeat
  208. return string
  209. end unquotify
  210.  
  211. --End of Command History Scripts
  212.  
  213.